Field of the Invention
The field of the invention is data processing, or, more specifically, methods, apparatuses, and computer program products for correcting a failure associated with a current firmware image.
Description of Related Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely complicated devices. Today's computers are much more sophisticated than early systems such as the EDVAC. Computer systems typically include a combination of hardware and software components, application programs, operating systems, processors, buses, memory, input/output devices, and so on. As advances in semiconductor processing and computer architecture push the performance of the computer higher and higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
In some servers, the service processor can perform the update of Pre-OS firmware components such as a Unified Extensible Firmware Interface (‘UEFI’). The service processor has the ability to update or restore the pre-OS firmware in the event of a failure or firmware corruption. If a firmware corruption occurs after it has been running for a while, it is desirable to correct and restore the corrupted firmware to same state it was in prior to the corruption. However, it is also possible that a Pre-OS firmware failure occurs not because of corruption, but because of a defect in the firmware. The defect may be triggered by an unforeseen configuration or circumstance that is not properly handled by the firmware. In that situation, it is desirable to replace faulty firmware with a prior version of the Pre-OS firmware that did not contain the operational defect.
Firmware recovery mechanisms frequently provide for primary and backup images. When a firmware problem occurs, the backup version is used. If the backup contains a different version of the firmware than the primary image, this can cause problems when there are dependencies for operational features or behaviors that are not present or different in the backup version. Likewise if the backup image contains the same version of the firmware as the primary image, both images can contain the same operational defect. For example, if the firmware hangs when a certain adapter card get installed in the system, both primary and backup images will experience the same problem.